﻿using Library.Collections.Generic;
using Library.Logic;
using Library.Logic.Inference;
using System.Collections.Generic;
using System.Diagnostics.Contracts;

namespace Library.Collections.Specialized
{
    public interface IContainerBulkReason<T> : IContainerBulk<T>, IContainerReason<T>
    {
        [Pure]
        bool ContainsAll(IEnumerable<T> items, out IInference argument);

        [Pure]
        bool ContainsAny(IEnumerable<T> items, out IInference argument);

        [Pure]
        bool ContainsNone(IEnumerable<T> items, out IInference argument);
    }
}
